#define _CRT_SECURE_NO_WARNINGS 
//#include<stdio.h>
//int Fib(int n)
//{
//	if (n <= 2)
//		return 1;
//	if (n > 2)
//		return Fib(n - 1) + Fib(n - 2);
//}
//int Fib(int n)
//{
//	int a = 1;
//	int b = 1;
//	int c = 1;
//	while (n >= 3)
//	{
//		c = a + b;
//		a = b;
//		b = c;
//		n--;
//	}
//	return c;
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret=Fib(n);
//	printf("%d", ret);
//	return 0;
//}\
//
//#include<stdio.h>
//int multiple(int n,int k)
//{
//	
//}
//int main()
//{
//	int n = 0;
//	int k = 0;
//	scanf("%d %d", &n,&k);
//	int ret = multiple(n,k);
//	printf("%d", ret);
//	return 0;
//}
//void DigitSum(int n)
//{
//	if (n > 9)
//	{
//		DigitSum(n / 10);
//	}
//	printf("%d ", n % 10);
//}
//#include<stdio.h>
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	DigitSum(n);
//	return 0;
//}
int factorial(int n)
{
		if (n <= 1)
			return 1;
		else
			return n * factorial(n - 1);
}
#include<stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	int ret=factorial(n);
	printf("%d", ret);
	return 0;
}